using System.ComponentModel.DataAnnotations;
using SupplierCustomerManagement.Domain.Entities;

namespace SupplierCustomerManagement.Domain.ReportForms
{
    /// <summary>
    /// 配种记录实体
    /// 用于记录母羊的配种情况
    /// </summary>
    public class BreedingRecord : BaseEntity
    {
        /// <summary>
        /// 母羊ID
        /// </summary>
        [Required]
        public int EweId { get; set; }

        /// <summary>
        /// 公羊ID
        /// </summary>
        [Required]
        public int RamId { get; set; }

        /// <summary>
        /// 配种日期
        /// </summary>
        [Required]
        public DateTime BreedingDate { get; set; }

        /// <summary>
        /// 配种类型（自然交配/人工授精）
        /// </summary>
        [StringLength(20)]
        public string? BreedingType { get; set; }

        /// <summary>
        /// 配种方式
        /// </summary>
        [StringLength(20)]
        public string? BreedingMethod { get; set; }

        /// <summary>
        /// 预产期
        /// </summary>
        public DateTime? ExpectedLambingDate { get; set; }

        /// <summary>
        /// 是否成功
        /// </summary>
        public bool? IsSuccessful { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Notes { get; set; }

        /// <summary>
        /// 羊场ID
        /// </summary>
        [Required]
        public int FarmId { get; set; }
    }
}
